package com.ruoyi.business.domain;

import java.math.BigDecimal;
import com.ruoyi.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotNull;

/**
 * 请假记录对象 t_register_leave
 *
 * @author Tellsea
 * @date 2024-02-06
 */
@Data
@Accessors(chain = true)
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class TRegisterLeave extends BaseEntity {

    /**
     * 主键
     */
    private Long id;

    /**
     * 报名信息ID
     */
    @Excel(name = "报名信息ID")
    @NotNull(message = "报名信息ID不能为空")
    private Long registerId;

    /**
     * 请假状态
     */
    @Excel(name = "请假状态")
    private Long leaveStatus;

    /**
     * 请假类型 1-事假 2-病假
     */
    @Excel(name = "请假类型 1-事假 2-病假")
    private Long leaveType;

    /**
     * 请假开始时间
     */
    @Excel(name = "请假开始时间")
    private String leaveStartDate;

    /**
     * 请假结束时间
     */
    @Excel(name = "请假结束时间")
    private String leaveEndDate;

    /**
     * 请假时长
     */
    @Excel(name = "请假时长")
    private BigDecimal leaveDuration;

    /**
     * 请假原因
     */
    @Excel(name = "请假原因")
    private String leaveCause;

    /**
     * 请假条
     */
    @Excel(name = "请假条")
    private String leavePicture;

    /**
     * 有效状态
     */
    @Excel(name = "有效状态")
    private Long effectiveStatus;

    /**
     * 销假时长
     */
    @Excel(name = "销假时长")
    private BigDecimal closeDuration;

    /**
     * 销假时间
     */
    @Excel(name = "销假时间")
    private String closeDate;

    @Excel(name = "销假原因")
    private String closeCause;

    /**
     * 是否删除 1-是 2-否
     */
    @TableField(fill = FieldFill.INSERT)
    private Long deleteStatus;

}
